• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Inhalt der Variable wird auf NULL gesetzt

Sylnois

Mitglied
Heyho Leute

Hab ein Problem. Guckt euch dieses Beispiel mal an.

PHP:
if(isset($_POST["anzahl"])){
    if(isset($_POST["anzahleintr"])){
        $anzahl = $_POST["anzahleintr"];
    }
    echo "Anzahl lautet $anzahl";
                        if($ergebnis == TRUE){
                        echo'Geschaaafffttt';
                    }
    for($k = 0; $k < $anzahl; $k++){
    echo"    <form action='' method='POST'>
                <table style='background: #FFFFFF; width: 700px;padding: 10px 50px 10px 50px'>
                <tr>
                        <td width='150px'>
                            Name
                        </td>
                        <td>
                            <input type='text' name='name".$k."' />
                        </td>
                        <td width='150px'>
                            Vorname
                        </td>
                        <td>
                            <input type='text' name='vorname".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Adresse
                        </td>
                        <td>
                            <input type='text' name='adresse".$k."' />
                        </td>
                        <td>
                            Geburtsdatum
                        </td>
                        <td>
                            <input type='text' name='bday".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Telefonnummer Privat
                        </td>
                        <td>
                            <input type='text' name='telefonp".$k."' />
                        </td>
                        <td>
                            Mobilenummer
                        </td>
                        <td>
                            <input type='text' name='mobile".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Email Privat
                        </td>
                        <td>
                            <input type='text' name='emailp".$k."' />
                        </td>
                        <td>
                            Email Gesch&auml;ft
                        </td>
                        <td>
                            <input type='text' name='emailg".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Telefonnummer Gesch&auml;ft
                        </td>
                        <td>
                            <input type='text' name='telefong".$k."' />
                        </td>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                ";
        
        }
        echo"<tr>
            <td>
                <input type='submit' name='eintragen' value='eintragen' />
            </td>
            </tr>
        </table>
            </form>";
        if(isset($_POST["eintragen"])){
        for($k = 0; $k < $anzahl; $k++){
echo"Anzahl ist weiterhin $anzahl";
}

Bei der zweiten Ausgabe wird die $anzahl einfach leer ausgegeben obwohl sie noch einen Wert beinhalten müsste. Warum das denn?

LG
Sylnois
 
Joo..
Hier ist nochmal der ganze PHP-Code:
PHP:
<?php
    if($ergebnis == TRUE){
        echo'Geschaaafffttt';
    }
    echo"
    <form action='' method='POST'>
        <table>
            <tr>
                <td>
                    Anzahl Eintr&auml;ge
                </td>
                <td>
                    <input type='text' name='anzahleintr' />
                </td>
            </tr>
            <tr>
                <td>
                    <input type='submit' name='anzahl' value='Los' />
                </td>
            </tr>
        </table>
    </form>
    ";
    if(empty($_POST["anzahleintr"])){
        echo"Anzahl ist halt leer!";
    }
    else{
        $anzahl = $_POST["anzahleintr"];
        echo"Anzahl ist NICHT leer!";
    }
    if(isset($_POST["anzahl"])){
    echo"<form action='' method='POST'>
                <table style='background: #FFFFFF; width: 700px;padding: 10px 50px 10px 50px'>";
    for($k = 0; $k < $anzahl; $k++){
    echo"    
            <tr>
                        <td width='150px'>
                            Name
                        </td>
                        <td>
                            <input type='text' name='name".$k."' />
                        </td>
                        <td width='150px'>
                            Vorname
                        </td>
                        <td>
                            <input type='text' name='vorname".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Adresse
                        </td>
                        <td>
                            <input type='text' name='adresse".$k."' />
                        </td>
                        <td>
                            Geburtsdatum
                        </td>
                        <td>
                            <input type='text' name='bday".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Telefonnummer Privat
                        </td>
                        <td>
                            <input type='text' name='telefonp".$k."' />
                        </td>
                        <td>
                            Mobilenummer
                        </td>
                        <td>
                            <input type='text' name='mobile".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Email Privat
                        </td>
                        <td>
                            <input type='text' name='emailp".$k."' />
                        </td>
                        <td>
                            Email Gesch&auml;ft
                        </td>
                        <td>
                            <input type='text' name='emailg".$k."' />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Telefonnummer Gesch&auml;ft
                        </td>
                        <td>
                            <input type='text' name='telefong".$k."' />
                        </td>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                ";
        
        }
        echo"<tr>
            <td>
                <input type='submit' name='eintragen' value='eintragen' />
            </td>
            </tr>
        </table>
            </form>";
        }
        if(isset($_POST["eintragen"])){
        for($k = 0; $k < $anzahl; $k++){
            $name = $_POST['name'.$k.''];
            $vorname = $_POST['vorname'.$k.''];
            $adresse = $_POST['adresse'.$k.''];
            $bday = $_POST['bday'.$k.''];
            $telefonp = $_POST['telefonp'.$k.''];
            $mobile = $_POST['mobile'.$k.''];
            $emailp = $_POST['emailp'.$k.''];
            $emailg = $_POST['emailg'.$k.''];
            $telefong = $_POST['telefong'.$k.''];
            $abfrage = "INSERT INTO adressbook(name, vorname, adresse, bday, telefonp, mobile, emailp, emailg, telefong) VALUES('$name', '$vorname', '$adresse', '$bday', '$telefonp', '$mobile', '$emailp', '$emailg', '$telefong')";
            $ergebnis = mysql_query($abfrage);
            $ergebnis = TRUE;
        }
        }
    
    ?>
 
hi
also ich weiss nich genau ob es daran liegt aba versuch es mal so...
PHP:
$anzahl = 0;
if($ergebnis == TRUE)
...
kenne mich zwar nich so gut aus aba ich glaube das $anzahl bei dir nur in dem block gesetzt wird oda so...^^

mfg michaelos
 
hey
ja stimmt hast recht das problem liegt woanders^^
das problem ist nämlich: beim zweiten formular wenn du das absendest löscht er die daten vom ersten formular...
also da kannste z.b. das erste formular als GET statt POST einstellen (und dann natürlich nich vergessen das bei den variablen umzuändern ;) )
ich hoffe dann klappt alles wie du es möchtest :)

mfg michaelos
 
Zurück
Oben