$error print formas

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

$error print formas

Δημοσίευση από abeautifulmind » 03 Μαρ 2011 12:30

καλημέρα σε όλους.
μπορώ από αυτό

Κώδικας: Επιλογή όλων

if (trim($_POST['name']) == '') {
   $error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Πρέπει να γράψετε κάποιο Ονομα<font>';
&#125;
if &#40;trim&#40;$_POST&#91;'email'&#93;&#41; == ''&#41; &#123;
   $error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Πρέπει να γράψετε ένα E-mail<font>';
&#125; elseif &#40;!check_email_address&#40;$_POST&#91;'email'&#93;&#41;&#41;
&#123;
   $error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Το E-mail που γράψατε δεν είναι σωστό<font>';
&#125;

if &#40;trim&#40;$_POST&#91;'message'&#93;&#41; == ''&#41; &#123;
   $error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Παρακαλώ γράψτε το μήνυμα ή τα σχόλιά σας<font>';
&#125;


if &#40;$error&#41; &#123;
///typose OLA ta lathi ths formas
   echo '<font color="#cc0000"><b>Λάθος!!</b>&#58;<font> <br />'.implode&#40;'<br />', $error&#41;;
&#125; else &#123;

////// edo steile ta stoixeia kai dose mhnyma epityxous eggrafhs ////

&#125; 
το
if ($error) {
///typose OLA ta lathi ths formas
echo '<font color="#cc0000"><b>Λάθος!!</b>:<font> <br />'.implode('<br />', $error);
}

να το κάνω

Κώδικας: Επιλογή όλων

if &#40;$error&#41; &#123;
///typose OLA ta lathi ths formas
header&#40;"location&#58;eg.php?k=3"&#41;;

&#125;
όπου στο arry k=3 στην eg.php θα γράψω

Κώδικας: Επιλογή όλων

$title&#91;3&#93;= '<font color="#cc0000"><b>Τα ακόλουθα λάθη εντοπίστηκαν!</b>&#58;<font> <br />'.implode&#40;'<br />, $error&#41;';
γιατί δεν μου δουλεύει.
Βασικά μπορώ να κάνω echo μέσα σε ένα array?[/quote]

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

$error print formas

Δημοσίευση από abeautifulmind » 03 Μαρ 2011 12:40

Μπορώ π.χ. να πω?

Κώδικας: Επιλογή όλων

if &#40;$error&#41; &#123;
$_SESSION&#91;'error'&#93;=$error;
///typose OLA ta lathi ths formas
header&#40;"location&#58;eg.php?k=3"&#41;;

&#125;
και μετά στο array στο eg.php

Κώδικας: Επιλογή όλων

session_start&#40;&#41;; 
$error="$_SESSION&#91;error&#93;";
@$r=$_GET&#91;'r'&#93;;
$title&#91;3&#93;= " $error";
print"$title&#91;$r&#93;";

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

$error print formas

Δημοσίευση από korgr » 03 Μαρ 2011 12:53

Πρώτον δεν χρειάζεται μέσα στο error array να αποθηκεύεις html. Αρκεί μόνο το μήνυμα του κάθε σφάλματος.
Όταν κάνεις print τα errors, μετά είναι αργά για την header η οποία πρέπει να προηγείται πριν από οποιοδήποτε output.

Αν θες να τυπώσεις τα errors και μετά να κάνεις redirect, πρέπει πρώτον να αφήσεις κάποιο χρόνο για να τα δει τα μηνύματα ο χρήστης και μετά να γίνει αυτόματο redirect με javascript.
Για παράδειγμα αν έχεις αποθηκεύσει καθαρά τα μηνύματα χωρίς html μπορείς να κάνεις το ακόλουθο:

Κώδικας: Επιλογή όλων

<?php
if&#40;count&#40;$error&#41;&#41;&#123; // αν υπάρχουν errors
foreach&#40;$error as $msg&#41;&#123;
?>
<font color="#cc0000"><b>Λάθος!!</b>&#58;<font> <br />
<?php
echo $msg."<br />";
&#125;
$timer = 3000 * count&#40;$error&#41;; // χρόνος που θα μείνουν τα μηνύματα για να τα διαβάσει ο χρήτης. 3 δευτερόλεπτα ανά μήνυμα πχ
?>
<script language="Javascript">
setTimeout &#40;function&#40;&#41;&#123;
document.location = "eg.php?k=3"; // ή σε όποιο άλλο URL θες να πας...
&#125;, <?php echo $timer;?>&#41;;
</script>
<?php
&#125;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

$error print formas

Δημοσίευση από abeautifulmind » 03 Μαρ 2011 13:11

άκυρο το έφτιαξα μόλις έτσι

Κώδικας: Επιλογή όλων

if &#40;$error&#41; &#123;
$a=''.implode&#40; '<br>',$error&#41;;
$_SESSION&#91;'error'&#93; = $a;
header&#40;"location&#58;eg.php?k=3"&#41;;

&#125;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

$error print formas

Δημοσίευση από abeautifulmind » 03 Μαρ 2011 16:36

ευχαριστώ πάντως korg μετά είδα το μήνυμα σου αλλά δεν ήθελα javascript μόνο php
anyway αφου λύθηκε όλα καλά.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες