code weglaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 3 volgende »

Jan Volker

Jan Volker

26/03/2009 11:58:00
Quote Anchor link
Hallo PHP Hulp

Ik heb een script geschreven, die nog niet werkt zoals ik wil. Ik zal de situatie proberen uit te leggen.

Aan de hand van een checkbox op een vorige pagina bepaal ik of $test weergegeven moet worden of niet.
Ik heb het volgende script staan op de verwerkingspagina;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    $een
= stripslashes($_POST['een']);
    $test=strip_tags(stripslashes(trim($_POST['test'])));
    $twee = stripslashes($_POST['twee']);
    print ("Succesvol Aangemaakt\n");
    $doorgaan=true;

if ($doorgaan==true)
{

    $bn="test.php";
    $Open=fopen($bn,"a");
    if ($Open)
    {

        fwrite($Open,"$een");
        fwrite($Open,"$test");
        fwrite($Open,"$twee");
        fclose($Open);
    }
}
        
?>

Ik heb het zo gemaakt in mijn script dat $een;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['

en $twee;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
']."</td>";

is.
Ik als ik $test dus heb aangevinkt krijg ik het volgende resultaat in test.php;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['test']."</td>";

Dit bovenstaande werkt gewoon, als ik $test niet aanvink krijg ik het volgende in mijn test.php;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['']."</td>";

En dit zorgt voor een foutmelding.

Weten jullie misschien hoe ik het script zodanig kan aanpassen dat het ".$record['']." gedeelte word weggelaten als $test niet is geselecteerd.


Ik zou het fijn vinden als iemand me zou kunnen helpen met het oplossen van dit probleem.
Jan Volker
 
PHP hulp

PHP hulp

26/11/2024 06:25:52
 
- Ariën  -
Beheerder

- Ariën -

26/03/2009 12:00:00
Quote Anchor link
"En dit zorgt voor een foutmelding."
En wat is die foutmelding dan?
 
Jan Volker

Jan Volker

26/03/2009 12:07:00
Quote Anchor link
Notice: Undefined index: in C:\Program Files\EasyPHP 3.0\www\test.php on line 46

Line 46 is dus;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['']."</td>";
 
- Ariën  -
Beheerder

- Ariën -

26/03/2009 12:13:00
Quote Anchor link
je geeft geen veldnaam in die index mee ;)
 
Jan Volker

Jan Volker

26/03/2009 12:22:00
Quote Anchor link
Ja, dit is een "automatisatie script". Als ik $test aanvink op de eerste pagina word er een script aangemaakt genaamd test.php.
Als het is aangevinkt maakt hij op lijn 46 het volgende aan;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['test']."</td>";

Als het niet is aangevinkt krijg ik het volgende;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>".$record['']."</td>";

Bij de tweede gaat het fout, ik wil dat het script werkt als ik $test niet aanvink.
 
Martijn Wieringa

Martijn Wieringa

26/03/2009 12:32:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if(empty($_POST['test']))
{
echo "<td>&nbsp;</td>";
}
else
{
echo "<td>" . $record['test'] . "</td>";
}



Tips: Maak geen gebruik van AUTO GLOBALS, maar gebruik netjes $_POST['test'] in plaats van $test.

Ik weet niet wat voor data er in de betrefende kolom zit, maar htmlentities() doet soms wonderen...
 
Jan Volker

Jan Volker

26/03/2009 12:44:00
Quote Anchor link
Het bovenstaande pakt hij niet, als ik $test niet aanvink krijg ik nogsteeds dezelfde foutmelding
 
Sander Z

Sander Z

26/03/2009 13:21:00
Quote Anchor link
Edit:

Had het script niet goed bekeken...
Gewijzigd op 01/01/1970 01:00:00 door Sander Z
 
Jan Volker

Jan Volker

26/03/2009 14:24:00
Quote Anchor link
@ Pholeron: De spaties waren mij niet opgevallen. Of ik nou $test aanvink of niet, het enige dat weergegeven word is;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<td>&nbsp;</td>";
 
Jan Volker

Jan Volker

27/03/2009 09:56:00
Quote Anchor link
Niemand?
 
- SanThe -

- SanThe -

27/03/2009 10:06:00
Quote Anchor link
Dan is $_POST['test'] blijkbaar leeg.
 
Jan Volker

Jan Volker

27/03/2009 10:12:00
Quote Anchor link
Nee, ik heb hem gewoon aangevinkt, dus hij is niet leeg.
Ik maak nog ergens gebruik van $test en daar krijg ik het gewoon wel. Of ik hem aanvink of niet ik krijg het gewoon leeg daar.
 
- SanThe -

- SanThe -

27/03/2009 10:18:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
print_r($_POST);
if(empty($_POST['test']))
{

echo "<td>&nbsp;</td>";
}

else
{
echo "<td>" . $record['test'] . "</td>";
}

?>
 
Jan Volker

Jan Volker

27/03/2009 10:57:00
Quote Anchor link
met dat "print_r($_POST);" commando erbij krijg ik bovenin mijn pagina "Array ( )" te staan
 
- SanThe -

- SanThe -

27/03/2009 11:12:00
Quote Anchor link
Jan Volker schreef op 27.03.2009 10:57:
met dat "print_r($_POST);" commando erbij krijg ik bovenin mijn pagina "Array ( )" te staan

Dus is de $_POST leeg.

Edit: Laat van je formulier de <form>-regel eens zien.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Jan Volker

Jan Volker

27/03/2009 11:19:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form ACTION="verwerking.php" METHOD="post">

<input type="checkbox" name="test" value="test">test<br>

<input type="submit" value="Create" > <br>
</form>
 
- SanThe -

- SanThe -

27/03/2009 11:26:00
Quote Anchor link
Maak dit er eens van. (Mag eigenlijk niet uitmaken, maar je weet maar nooit)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form action="" method="post">
<input type="checkbox" name="test" value="test">test<br>
<input type="submit" value="Create" ><br>
</form>
 
Paul IJmker

Paul IJmker

27/03/2009 11:48:00
Quote Anchor link
SanThe schreef op 27.03.2009 10:18:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
print_r($_POST);
if(empty($_POST['test']))
{

echo "<td>&nbsp;</td>";
}

else
{
echo "<td>" . $record['test'] . "</td>";
}

?>



Dit is de oplossing. Je moet een waarde meegegeven aan de $_POST.
Zonder waarde mee te geven krijg je deze foutmelding.
 
Jan Volker

Jan Volker

27/03/2009 12:49:00
Quote Anchor link
@SanThe, het maakt wel uit:) zonder ACTION="verwerking.php" gaat hij ook niet naar het verwerkingspagina waardoor het script niet uitgevoerd word.

@Paul, $_POST werkt wel (tenminste in de rest van het script wel), ik wil alleen geen ". $record['test']." krijgen in mijn script als $test niet is aangevinkt
 
Jan Volker

Jan Volker

29/03/2009 11:58:00
Quote Anchor link
niemand?
 
- SanThe -

- SanThe -

29/03/2009 12:04:00
Quote Anchor link
Jan Volker schreef op 27.03.2009 12:49:
@SanThe, het maakt wel uit:) zonder ACTION="verwerking.php" gaat hij ook niet naar het verwerkingspagina waardoor het script niet uitgevoerd word.

Het zijn dus twee aparte scriptjes. En in welke staat dan die if()?
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.