Ηλεκτρονική Φόρμα Παραγγελίας

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

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

Απάντηση
Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από Risk » 08 Ιουν 2006 03:24

Προσπαθώντας να μάθω δυναμικό σχεδιασμό ιστοσελίδων και συγκεκριμένα php έχω αρχίσει να φτιάχνω μια ηλεκτρονική φόρμα παραγγελίας για κάτι βιβλία. Την σελίδα αυτή την έφτιαξα με html και τα στοιχεία στέλνονται προς επικύρωση και τελική παρουσίαση σε μια php ιστοσελίδα. Επειδή μπήκα εν γνώση μου νωρίς στα βαθιά,χρειάζομαι λίγο τη βοήθειά σας.

Συγκεκριμένα θα ήθελα να με βοηθήσετε στο εξής.Αν υποθέσουμε πως έχω 4 προϊόντα που παρουσιάζονται στον πελάτη και εκείνος επιλέξει το 2 κ 4, ας πούμε, τελικώς η php πως θα πέρνει τις επιλογές αυτές από το html και θα τις τοποθετεί ταξινομημένα,δηλαδή 1επιλογή,2επιλογη. Να διευκρινήσω εδώ πως στη html ιστοσελίδα,έχω αναφέρει όλες τις επιλογές και ο χρήστης μπορεί να επιλέξει όποιο προϊών θέλει μέσα από ένα checkbox (<input type=checkbox name="...">)

Δεύτερον και σχετικό με το παραπάνω.Σκέφτηκα κάθε επιλογή να μπαίνει σε ένα πίνακα π.χ $book=array();.Αυτόν τον πίνακα όταν τον δηλώνω στην αρχή σαν κενό, μου δείχνει ότι είναι λάθος;Γιατί γίνεται αυτό;Δεν μπορώ να τον δηλώσω στην αρχή σαν κενό και ύστερα με κάποια μεταβλητή $i να βάζω σε κάθε θέση το επιλεγμένο στοιχείο;

Ευχαριστώ!

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από cpulse » 08 Ιουν 2006 13:22

Οι βαθιές βουτιές είναι οι καλύτερες! :) Αλλά θέλει υπομονή και ψάξιμο σε ήδη υπάρχοντα scripts για να μάθεις γρήγορα και με λιγότερες απώλειες ηθικού.

Το συγκεκριμένο που θες να κάνεις γίνεται με ένα κόλπο... θέλει το name των select να είναι το ίδιο και να έχει αγκύλες. Πχ... <input type="checkbox" name="cb[]" value="123">

Αυτό θα σου γυρίσει έναν πίνακα στο $_POST['cb'] με τις επιλογές του χρήστη.
Αξίζει να κάνεις μια test σελίδα με πχ.. print_r($_POST['cb']); για να δείς ακριβώς την μορφή του πίνακα.

Το $book=array(); φαίνεται να είναι μια χαρά... τι ακριβώς error message σου λέει;

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από Risk » 09 Ιουν 2006 01:56

Cpulse έχω πολύ όρεξη να μάθω και τίποτα δεν με αποθαρύνει,απλά στην αρχή τα πράγματα θα είναι λίγο δύσκολα!!!

Λοιπόν, όσο αφορά το πρώτο σκέλος της απάντησης σου:
Εγώ τα έχω δηλώσει π.χ <input type="checkbox" name="cd1"> και <input type="checkbox" name="cd2"> κλπ και έχω βάλει ένα javscript να ελέγχγει αν τουλάχιστον ένα από αυτά είναι επιλεγμένο ως εξής
if((form.cd1.selected||form.cd2.selected)==false){
εντολές για alert}

Αν λοιπόν κάνω αυτό που μου λες,το οποίο το έχω δοκιμάσει, δεν μου τρέχει το javascript,αλλά θα το ξσναδοκιμάσω(μόλις τελειώσω το post).Αν γνωρίζεις κάτι όμως και μπορείς να με βοηθήσεις θα σε ευχαριστούσα με όλη μου την καρδιά!
Το $book=array(); φαίνεται να είναι μια χαρά... τι ακριβώς error message σου λέει;
Μου βγάζει error για Unvaliable μεταβλητή!

Ευχαριστώ για την βοήθεια!

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από cpulse » 09 Ιουν 2006 02:22

Έψαξα να σου βρω κάτι έτοιμο από παλιότερο project... νομίζω αυτό θα σου κάνει

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

var ok = false;
for &#40;var i=0; i<frm.elements.length; i++&#41; if &#40;frm.elements&#91;i&#93;.name=='chk&#91;&#93;' && frm.elements&#91;i&#93;.checked&#41; &#123;
  ok = true;
  break;
&#125;
if &#40;!ok&#41; alert&#40;'......problima.....'&#41;;
δοκίμασε το πάντως για καλό και για κακό

.. όσο για το $book ... όταν λες Unvaliable μάλλον θα εννοείς Unavailable έτσι;
δεν ξέρω να σου απαντήσω αν δεν δω τον κώδικα αλλά..
1) μπορεί στην αρχή να το λες $book και στην συνέχεια με άλλο όνομα.. πχ. $books
2) μπορεί να το θέτεις μέσα σε κάποιο σημείο που να μην φτάνει η εκτέλεση του κώδικα ποτέ.. πχ μέσα σε κάποιο if .. for.. function
3) μπορεί σε κάποιο σημείο να γίνεται unset()
4) μπορεί να έχει μπεί ο διάολος στο computer σου... συμβαίνει τελευταία..

:)

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από cpulse » 09 Ιουν 2006 02:24

Μάλλον καλύτερα...

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

function validateForm&#40;&#41; &#123;
  var ok = false;
  for &#40;var i=0; i<frm.elements.length; i++&#41; if &#40;frm.elements&#91;i&#93;.name=='chk&#91;&#93;' && frm.elements&#91;i&#93;.checked&#41; &#123;
    ok = true;
    break;
  &#125;
  if &#40;!ok&#41; &#123;
    alert&#40;'......problima.....'&#41;;
    return false;
  &#125;

  return true;
&#125;
και μάλιστα βάλε το στο <form .... onsubmit="return validateForm();">

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Ηλεκτρονική Φόρμα Παραγγελίας

Δημοσίευση από Risk » 13 Ιουν 2006 02:08

Cpulse δεν σε έχω ξεχάσει, έχω διαβάσει τα όσα έχεις ποστάρει,αλλά δεν έχω βρει χρόνο να κάτσω να τα εφαρμόσω. Όταν ασχοληθώ,αν έχω καμία απορία θα σε συμβουλευτώ!Σε ευχαριστώ πολύ για την βοήθεια!

Απάντηση

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

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

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