invio col form non riuscito

101south

Nuovo Utente
6 Giu 2010
20
0
0
Salve, ho un problema con un form.
Il form si trova su "http://www.azzurro-deutschland.de/Kursanmeldung.htm";
la pagina che dovrebbe apparire cliccando sul bottone "invia" (nominato "Anmeldung abschicken") invece è disponibile su "http://wikisend.com/download/452488/invio.php".
Quando clicco appare una pagina vuota...
 
Il problema è molto probabilmente nella pagina PHP, la richiesta POST viene fatta correttamente.. posta il codice della pagina php..

Ciao, Ciro
 
ciao
se guardi negli altri post vedi che è permesso digitare il codice, anche perche essendo la pag indicata php usando "vedi sorgente" si vede solo la parte html
 
Ok, ecco il file "invio.php":



<title>invio</title>
<?php
$receiverMail = "[email protected]";

$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$vorname = ltrim(rtrim(strip_tags(stripslashes($_POST['vorname']))));
$geburtsdatum = ltrim(rtrim(strip_tags(stripslashes($_POST['geburtsdatum']))));
$muttersprache = ltrim(rtrim(strip_tags(stripslashes($_POST['muttersprache']))));
$plz = ltrim(rtrim(strip_tags(stripslashes($_POST['plz']))));
$stadt = ltrim(rtrim(strip_tags(stripslashes($_POST['stadt']))));
$festnetz = ltrim(rtrim(strip_tags(stripslashes($_POST['festnetz']))));
$mobil = ltrim(rtrim(strip_tags(stripslashes($_POST['mobil']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$kurswahl = ltrim(rtrim(strip_tags(stripslashes($_POST['kurswahl']))));


$ip = getenv("REMOTE_ADDR");
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

// VALIDATION
if(empty($name) || empty($vorname) || empty($geburtsdatum) || empty($muttersprache))
|| empty($plz)) || empty($stadt)) || empty($festnetz)) || empty($mobil)) || empty($email)) || empty($msg)) || empty($kurswahl))
{
echo "<h3>The email was not sent</h3><p>Please fill all the required fields</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3>The email was not sent</h3><p>The email address is invalid</p>";
}
else {
mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
echo "<h3>The email has been sent!</h3><p>I will get back to you as soon as possible.</p>"; }
?>
 
metti un var_dump() all'inzio del codice e vedi se vengono inviati veramente i parametri dal form
 
Fatto, ho inserito il codice così:

<?php
var_dump()

(e via dicendo)...

Ma non cambia nulla... non ricevo nulla e la pagina di action non viene visionata...
 
ciao
dove e come hai messo i var_dump?
devi metterli cosi (ma perche usi ltrim e rtrim?):

PHP:
//ecc...
$name = trim(strip_tags(stripslashes($_POST['name'])));
var_dump($name);
//oppure al posto del var_dump un echo
//ecc....
se il risultato è nullo vuol dire che il form non trasmette alla pagina
in questo caso posta tutto il codice

p.s.
usa i tag per il codice si capisce meglio dove finisce la descrizione e dove inizia lo script
 
Dunque, il form si trova alla pagina "http://www.azzurro-deutschland.de/Kursanmeldung.htm". Non essendoci niente di php, si può trarne il codice HTML dal browser. Dico questo non per pigrizia, ma per evitare di inserire qui un codice lunghissimo.
La pagina di rimando "php.invio", aggiornata con la stringa consigliata è questa:
(ltrim e rtrim non so cosa siano, ho solo usato un form predefinito applicando le sostituzioni ai campi da me inseriti... il linguaggio php mi è quasi interamente estraneo...)



<title>invio</title>
<?php
var_dump()

$receiverMail = "[email protected]";

$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$vorname = ltrim(rtrim(strip_tags(stripslashes($_POST['vorname']))));
$geburtsdatum = ltrim(rtrim(strip_tags(stripslashes($_POST['geburtsdatum']))));
$muttersprache = ltrim(rtrim(strip_tags(stripslashes($_POST['muttersprache']))));
$plz = ltrim(rtrim(strip_tags(stripslashes($_POST['plz']))));
$stadt = ltrim(rtrim(strip_tags(stripslashes($_POST['stadt']))));
$festnetz = ltrim(rtrim(strip_tags(stripslashes($_POST['festnetz']))));
$mobil = ltrim(rtrim(strip_tags(stripslashes($_POST['mobil']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$kurswahl = ltrim(rtrim(strip_tags(stripslashes($_POST['kurswahl']))));


$ip = getenv("REMOTE_ADDR");
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

// VALIDATION
if(empty($name) || empty($vorname) || empty($geburtsdatum) || empty($muttersprache))
|| empty($plz)) || empty($stadt)) || empty($festnetz)) || empty($mobil)) || empty($email)) || empty($msg)) || empty($kurswahl))
{
echo "<h3>The email was not sent</h3><p>Please fill all the required fields</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3>The email was not sent</h3><p>The email address is invalid</p>";
}
else {
mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
echo "<h3>The email has been sent!</h3><p>I will get back to you as soon as possible.</p>"; }
?>
 
ciao
se l'hai messo così dal var dump non capisci cosa non viene trasmesso. il var_dump ti restituirà sempre NULL
il var_dump devi metterlo dopo il $_POST e con il nome della variabile che vuoi esaminare e cioè
PHP:
//ecc....
$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
var_dump($name);
$vorname = ltrim(rtrim(strip_tags(stripslashes($_POST['vorname']))));
var_dump($vorname);
$geburtsdatum = ltrim(rtrim(strip_tags(stripslashes($_POST['geburtsdatum']))));
var_dump($geburtsdatum);
$muttersprache = ltrim(rtrim(strip_tags(stripslashes($_POST['muttersprache']))));
var_dump($muttersprache);
$plz = ltrim(rtrim(strip_tags(stripslashes($_POST['plz']))));
var_dump($plz);
$stadt = ltrim(rtrim(strip_tags(stripslashes($_POST['stadt']))));
var_dump($stadt);
$festnetz = ltrim(rtrim(strip_tags(stripslashes($_POST['festnetz']))));
var_dump($festnetz);
$mobil = ltrim(rtrim(strip_tags(stripslashes($_POST['mobil']))));
var_dump($mobil);
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
var_dump($email);
$kurswahl = ltrim(rtrim(strip_tags(stripslashes($_POST['kurswahl']))));
var_dump($kurswahl);
//ecc..
o, ancora meglio metterci direttamente il $_POST, es.
PHP:
//ecc...
var_dump($_POST['name']);
//ecc..

in questo modo vedi se e quali valori danno problemi, se sono tutti NULL con molta probabilità l'errore viene dal form che non trasmette, sei sicuro di aver messo l'action col nome giusto o i nomi dei campi di input corrispondono esattamente (compreso maiuscole/minuscole)?

p.s.
dimenticavo: la funzione eregi è deprecata, devi usare o preg o filter_var per la verifica dell'email
 
In qualche modo ho risolto, posto qui il risultato...


Qui il form html:

<form method="post" action="Anmeldung-erfolgreich.php" style="width: 435px; padding: 10px; font-family: 'Gill Sans MT'; font-size: 10pt;">

<div class="Sfondo-Form">

<fieldset class="fieldset-A">
<div class="TXT-Form">Name</div>
<div class="campo">
<input name="name" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Vorname</div><div class="campo">
<input name="vorname" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Geburtsdatum</div><div class="campo">
<input name="geburtsdatum" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Muttersprache</div><div class="campo">
<input name="muttersprache" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>
<div class="riga-vuota-13"></div>
<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">PLZ</div><div class="campo">
<input name="plz" type="text" size="20" maxlength="5" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Stadt</div><div class="campo">
<input name="stadt" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Festnetz</div><div class="campo">
<input name="festnetz" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Mobil</div><div class="campo">
<input name="mobil" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>

<fieldset class="fieldset-A">
<div class="TXT-Form">Email</div><div class="campo">
<input name="email" type="text" size="40" maxlength="40" class="input-A"/></div>
</fieldset>

<div class="riga-vuota-13"></div>
<div class="riga-vuota-13"></div>
<div class="riga-vuota-13"></div>

<fieldset class="fieldset-B">
<div class="TXT-Form"></div>
<div class="campo-TXT">Ich melde mich für folgenden Kurs an:</div>
<select name="kurswahl" class="select-TXT">
<option selected class="select-TXT-I">&nbsp auswählen</option>
<option>&nbsp Anfänger ohne Vorkenntnisse (Gruppe A)</option>
<option>&nbsp Anfänger ohne Vorkenntnisse (Gruppe B)</option>
<option>&nbsp Anfänger mit Vorkenntnissen (Gruppe A)</option>
<option>&nbsp Anfänger mit Vorkenntnissen (Gruppe B)</option>
<option>&nbsp Grundstufe</option>
<option>&nbsp Mittelstufe</option>
<option>&nbsp Konversation</option>
<option>&nbsp Wirtschaftsitalienisch</option>
<option>&nbsp Italienisch in der Küche</option>
</select>

<div class="riga-vuota-13"></div>
<div class="riga-vuota-13"></div>
<div class="riga-vuota"></div>
<div class="riga-vuota"></div>

<input type="submit" class="abschick" value="Anmeldung abschicken" />
</fieldset>


</div>

</form>

-------------------------------


Qui il file php di rimando:

<?php

$name= $_POST['name'];
$vorname= $_POST['vorname'];
$geburtsdatum = $_POST['geburtsdatum '];
$muttersprache = $_POST['muttersprache '];
$plz= $_POST['plz'];
$stadt= $_POST['stadt'];
$festnetz= $_POST['festnetz'];
$mobil= $_POST['mobil'];
$kurswahl= $_POST['kurswahl'];
$email = $_POST['email'];
$to = "[email protected]";

$testo = stripslashes($testo);
$email = stripslashes($email);


$subject = "Kursanmeldung";
$message = "Cognome: $name, Nome: $vorname, Data di nascita: $geburtsdatum, Madrelingua: $muttersprache, PLZ: $plz, Stadt: $stadt, Telefono fisso: $festnetz, Cellulare: $mobil, Corso scelto: $kurswahl, Indirizzo Email: $email" ;

mail($to, $subject, $message);
header("location: http://www.azzurro-deutschland.de/Anmeldung-erfolgreich.php");
exit;

?>
 

Discussioni simili